An error tool or patch is a piece of software designed to fix errors in a software application. Patches may fix dysfunctional program code, security vulnerabilities, and improve the usability and/or performance of a software application. Error tools typically use a set distribution mechanism, where the developers of a software application identify an error (i.e. a bug) in the software application, develop a patch to address the error, and distribute the patch to the entire community of users of the software application, even those users that may not have encountered the error. Often times, the developers of a software application will post the patch on a web site, and require users to download, install, and execute the patch themselves, in a manual fashion. Therefore, the current system requires users to take part in the error repair mechanism, and is not selective as it usually affects a large number of users.